DUEL - A Very High-Level Debugging Language

نویسندگان

  • Michael Golan
  • David R. Hanson
چکیده

Most source-level debuggers accept expressions in the source language, e.g., C, and can print sourcelanguage values. This approach is usually justi ed on grounds that programmers need to know only one language. But the evaluation of source-language expressions or even statements is poorly suited for making non-trivial queries about the program state, e.g., \which elements of array x[100] are positive?" Duel departs from the conventional wisdom: It is a very high-level language designed speci cally for sourcelevel debugging of C programs. Duel expressions are a superset of C's and include \generators," which are expressions that can produce zero or more values and are inspired by Icon, APL, and LISP. For example, x[..100] >? 0 displays the positive elements of x and their indices. Duel is implemented on top of gdb and adds one new command to evaluate Duel expressions and display their results. This paper describes Duel's semantics and syntax, gives examples of its use, and outlines its implementation. Duel is freely available and could be interfaced to other debuggers. To appear in the Proceedings of the Winter USENIX Technical Conference, San Diego, Jan. 1993. Supported in part by NSF Grant CCR92-00790.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Very High Level Debugging Language

Programmers spend a significant part of their time debugging, yet most of them simply add print statements and avoid debugging tools. Although the user interface of debuggers has improved significantly in the past decade, their basic debugging methodologies have changed little. This thesis examines single-process sequential debuggers and attempts to elucidate their weaknesses. Target-state expl...

متن کامل

An Integrated SystemC Debugging Environment

Since its first release the system level language SystemC had a significant impact on various areas in VLSI-CAD. One remarkable benefit of SystemC lies in the support of abstraction levels beyond RTL. But being able to implement complex System-on-Chip (SoC) designs in SystemC raises the necessity of new techniques to support debugging, system exploration, and verification. We present an integra...

متن کامل

An Extensible Debugging Architecture Based on a Hybrid Debugging Framework

The cost of writing debuggers is very high. Most debuggers are written employing low level operating system and hardware specific code, which is hard to port to new platforms or architectures and to extend with new debugging techniques. Moreover, current debuggers are usually limited in the amount of analysis that they perform and the level of detail that they provide in order to assist with de...

متن کامل

Position Paper: Static Debugging of Programs Using High-Level Concurrency Libraries

High-level concurrency libraries, such as MapReduce and frameworks for fork/join parallelism, are promising tools to make parallelism available to the application developer. Optimizations and intrinsics provided by mainstream VM platforms, as well as programming languages supporting powerful means of abstraction greatly improve the performance and use of such frameworks. However, debugging prog...

متن کامل

Design and Implementation of a high-level multi- language .NET Debugger

The Microsoft .NET Common Language Runtime (CLR) provides a low-level debugging application programmers interface (API), which can be used to implement traditional source code debuggers but can also be useful to implement other dynamic program introspection tools. This paper describes our experience in using this API for the implementation of a high-level debugger. The API is difficult to use f...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1993